1. Field of the Invention
The present invention relates to data driven type information processing systems, and more particularly, to a data driven type information processing system suitable for interconnecting a plurality of data driven type information processing devices into a multi-network form.
2. Description of the Background Art
In a von-Neumann type computer, various instructions are prestored as a program in a program storage unit. These instructions are read out for execution by a program counter, which sequentially designates addresses in the program storage unit.
In contrast, the data driven type information processing device is a kind of non-von-Neumann computer, which is free from the concept of such sequential execution of instructions by the program counter. In the data driven type information processing device, instructions become ready for execution once data to be operated are collected, and a plurality of instructions are executed in parallel. The device is advantageous in that time required for operation can be significantly reduced.
FIG. 13 is a block configuration diagram of a conventional data driven type processor. FIGS. 14A to 14C illustrate field configurations of data packets to be processed in the data driven type processor shown in FIG. 13. FIG. 15 is a diagram showing an example of the contents stored in the program storage unit of FIG. 13. FIG. 16 shows a configuration of a system including a plurality of data driven type processors each as shown in FIG. 13.
The data packet PA1 shown in FIG. 14A includes a processor (PE) number 50, a node number 51, a left/right data flag 52, an instruction code 53, a generation number 54, and a first operand 55. The data packet PB1 in FIG. 14B includes a second operand 56 in addition to the contents of data packet PA. The data packet PC1 in FIG. 14C includes PE number 50, node number 51, generation number 54, and first operand 55.
Data driven type processor PEl in FIG. 13 includes: branch units 20 and 25 that each input an applied data packet, compare contents of the input data packet with contents preset in an internal memory, and output the input data packet to an output destination that is selected in accordance with the result of comparison; junction units 21 and 27 that each input the data packets applied thereto and sequentially output the same; a firing control unit 22; an operation processing unit 23; a program storage unit 24 that prestores a data flow program as shown in FIG. 15; and an internal data buffering unit 26.
Branch units 20 and 25 have internal memories 201 and 251, respectively. Memories 201 and 251 each have a PE number that uniquely identifies the relevant data driven type processor PE1. This PE number is prestored by software or preset by an external terminal (not shown).
In operation, branch unit 20 determines whether PE number 50 of data packet PA1 input from an input port IN and the PE number preset in memory 201 match with each other. If they match, branch unit 20 outputs input data packet PA1 to junction unit 21; if not, input data packet PA1 goes to junction unit 27. Junction unit 21 inputs both the data packet PA1 output from branch unit 20 and the data packet PA1 output from internal data buffer 26, and sequentially outputs the input data packets PA1 to firing control unit 22, while controlling the stream of the data packets.
Firing control unit 22 detects two data packets, which are to constitute a pair for a binary operation instruction. In other words, two data packets PA having the same node numbers 51 and generation numbers 54 are waited for and, when the matching is complete (i.e., when the paired data are detected), the two data packets PA1 are combined and output as a single data packet PB1 to operation processing unit 23. At this time, respective one of the first operands 55 of the two data packets PA1 detected as the paired data is set to either one of the first and second operands 55 and 56 of data packet PB1, depending on the left/right data flags 52 of the respective data packets PA1 detected as the paired data.
Operation processing unit 23 performs, according to instruction code 53 of input data packet PB1, operation for corresponding first or second operand 55 or 56, and outputs data packet PC1, having a result of the operation stored therein as first operand 55, to program storage unit 24.
Program storage unit 24 prestores a data flow program consisting of a plurality of processor numbers PE, a plurality of node numbers ND, a plurality of instruction codes OP and a plurality of left/right data flags DF, as shown in FIG. 15. Program storage unit 24 inputs data packet PC applied thereto, and reads out, by addressing based on the node number 51 of the input packet PC1, a subsequent processor number PE, a subsequent node number ND, a subsequent instruction code OP and a subsequent left/iight data flag DF from the data flow program. The read out processor number PE and node number ND are set as PE number 50 and node number 51 of the input data packet PC1, and the read out instruction code OP and left/right data flag DF are added to the input data packet PC1 as instruction code 53 and left/right data flag 52, respectively (generation number 54 remains unchanged). Data packet PA1 is thus obtained, which is then output to branch unit 25. This is called xe2x80x9cinstruction fetch.xe2x80x9d
Branch unit 25 inputs data packet PA1 output from program storage unit 24, and determines whether PE number 50 of the input data packet PA1 and the PE number within the memory 251 match with each other. If they match, branch unit 25 outputs input data packet PA1 to internal data buffering unit 26. If they do not mach, data packet PA1 is output to junction unit 27.
Internal data buffering unit 26 inputs data packets PA1 applied thereto, and sequentially outputs them to junction unit 21.
Thus, the data packets are transmitted along junction unit 21xe2x86x92 firing control unit 22xe2x86x92 operation processing unit 23xe2x86x92 program storage unit 24xe2x86x92 branch unit 25, and processing for one node in a data flow graph, which is expressed by the data flow program prestored in program storage unit 24, is completed.
The data flow graph (or, the data flow program) is carried out by repeating the paired data detection, the operation processing and the instruction fetch for the data packets, as explained above.
One way to improve processing performance of the above-described data driven type information processor is to incorporate a plurality of data driven type processors PE within a single system.
The Japanese Patent Laying-Open No. 6-259583 discloses a system consisting of a plurality of data driven type processors 1 to 4, as shown in FIG. 16, wherein a method of interconnecting the processors is disclosed. In this reference, the processors are connected with one another via processor-to-processor transmission paths. In operation, a data packet is transmitted through the transmission paths to a processor by which the data packet itself is to be processed. Here, an appropriate, short route is chosen therebetween, according to processor designating information (i.e., the PE number) within the data packet that designates its relevant processor, and a prescribed condition. That is, each processor within the system includes memories 201 and 251, as shown in FIG. 13, which store information for uniquely identifying the processor itself (i.e., the PE number). Thus, the data packets are processed in respective processors, while the processor designating information (the PE number) within each data packet and the PE number set in each processor are compared with each other.
In an effort to realize an integrated circuit of data driven type processors, the operation processing capability has been steadily improved, and the number of processors forming one system has been increased. Accordingly, the scale of circuits has been also increased, which results in increases in cost, in power consumption and in the number of terminals. Further, cost increases for countermeasures against radiation within a package due to the increase in the power consumption, as well as cost increases for countermeasures against unnecessary emission due to the increased number of terminals are tremendous.
An object of the present invention is to provide an economical data driven type information processing system.
The data driven type information processing system according to an aspect of the present invention is a system in which a plurality of data driven type processors (hereinafter, simply referred to as xe2x80x9cprocessorsxe2x80x9d) for processing data packets storing at least instruction information are interconnected via a plurality of data transmission paths for transmitting the data packets. The system has the following features.
Each of the plurality of processors in the system is capable of processing a different instruction system consisting of at least one type of instruction information. Further, the plurality of data transmission paths include processor transmission paths for transmitting data packets to the plurality of processors, respectively.
The data driven type information processing system has a first path select unit to which the plurality of data transmission paths including the processor transmission paths corresponding to the plurality of processors are connected. The first path select unit refers to instruction information within a received data packet, and selects, from the plurality of data transmission paths connected thereto, a processor transmission path connected to a processor that can process an instruction system corresponding to the type of the instruction information. It then outputs the received data packet to the selected processor transmission path.
Each of the plurality of processors includes: a second path select unit to which a plurality of data transmission paths including processor transmission paths respectively corresponding to the other processors are connected; and a processing unit. The processing unit receives a data packet, performs, using the received data packet, information processing including an operation based on the instruction information, and outputs the data packet obtained by the information processing to the second path select unit.
The second path select unit refers to the instruction information within the data packet received from the processing unit, and selects, from the plurality of data transmission paths connected thereto, a processor transmission path connected to a processor that can process the instruction system corresponding to the type of the instruction information. It then outputs the received data packet to the selected processor transmission path.
According to an aspect of the present invention, the first and the second path select units each select, based on instruction information within a data packet, a processor transmission path connected to a processor that can process the data packet, and transmit the data packet via the processor transmission path. In other words, in the system, and in each of the processors, each data packet is output based on the instruction information within the data packet such that it is allocated to a processor that can process the instruction information.
Accordingly, it is unnecessary to add processor numbers to respective processors as in the conventional manner, and hence, it is unnecessary to provide PE number storing regions within the data packets. It is thus possible to reduce the circuit scale for the system, and correspondingly, to reduce the cost and power consumption.
The reduction in the power consumption leads to reduction in the cost for countermeasures against radiation within the package incorporating the system. In addition, with no need of the PE number storing region within the data packet, the data width in a data packet can be decreased. The number of terminals for the data packets in the system is also decreased, so that unnecessary emission is reduced.
Further, the first path select unit is disposed outside the plurality of processors (at an input stage of the system). Therefore, at the time of system configuration, the processors can be disposed in an orderly fashion, regardless of differences in the operation processing units of the processors. Accordingly, the system is advantageously applied to the case where orderly layout of processors is required.
The above-described data driven type information processing system may further include the following features.
The first path select unit further includes an external transmission path connected with the outside of the system. It selects, based on the instruction information within the received data packet, either the external transmission path or a processor transmission path connected to a processor that can process an instruction system corresponding to the type of the instruction information. It then outputs the received data packet to the selected transmission path.
The second path select unit further includes an external transmission path connected with the outside of the system. It selects, based on the instruction information within the data packet received from the processing unit, either the external transmission path or a processor transmission path connected to a processor that is able to process an instruction system corresponding to the type of the instruction information, and outputs the received data packet to the selected transmission path.
According to the data driven type information processing system as described above, the first and the second path select units can selectively provide each data packet input, either to any of the internal processors within the system that can process the relevant data packet or to a processor outside the system, based on the instruction information.
The above-described data driven type information processing system may further include the following features.
The second path select unit further includes a processing unit transmission path connected with the processing unit. Upon reception of a data packet from the processing unit, the second path select unit selects, based on the instruction information within the received data packet, any path among: 1) a processor transmission path connected to a processor that can process an instruction system corresponding to the type of the instruction information; 2) the external transmission path; or 3) the processing unit transmission path. It then outputs the received data packet to the selected transmission path.
According to the data driven type information processing system as described above, the second path select unit can selectively provide the received data packet to any of 1) a processor inside the system that can process the relevant data packet, 2) the processing unit, or 3) a processor outside the system, based on the instruction information within the received data packet.
In the data driven type information processing system according to another aspect of the present invention, a plurality of data driven type processors (hereinafter, referred to as xe2x80x9cprocessorsxe2x80x9d) are communicated with one another via transmission paths, through which data packets storing at least instruction information are transmitted. The data driven type information processing system further includes the following features.
Each of the plurality of processors is able to operate a different instruction system consisting of at least one type of instruction information. Herein, each processor includes a path select unit to which data packets are externally provided, and a processing unit connecting transmission paths. The processing unit performs, upon reception of a data packet from the transmission path, information processing including an operation based on the received instruction information within the received data packet, and outputs the received data packet obtained by the information processing to the path select unit.
The path select unit selects, upon reception of the data packet, a transmission path connected either to another processor or to the processing unit that can operate the instruction system corresponding to the type of the instruction information, based on the instruction information within the received data packet. It then outputs the received data packet to the selected transmission path.
According to the data driven type information processing system as described above, the path select unit of each processor selects a transmission path connected to either the processor itself (the processing unit) or another processor that can process an instruction system corresponding to the type of the instruction information, based on the instruction information in the received data packet, and outputs the received data packet to the selected transmission path. In other words, each processor of the system outputs the received data packet to either the processor itself or another processor based on the instruction information within the received data packet, so that the received data packet can be allocated to a processor capable of processing the instruction information.
Accordingly, it is unnecessary to add a processor number to each processor as in the conventional manner, and hence, a PE number storing region is unnecessary within the data packet. Therefore, it is possible to reduce the circuit scale, and thus, to reduce the cost and the power consumption of the system.
As the power consumption is decreased, the cost for countermeasures against radiation within the package incorporating the system is also reduced. Further, as the PE number storing region is unnecessary within the data packet, the data width of the data packet is also reduced. Therefore, the number of terminals for the data packets in the system is decreased, and hence, unnecessary emission can be reduced.
In addition, in the data driven type information processing system as described above, each processor independently determines whether it can process a data packet or not. Accordingly, it is possible to alter the layout of the processors according to the differences of the processing units (the instruction systems that can be processed) in the processors. Therefore, the system is advantageously applied to the case where it is difficult to achieve orderly disposition of the processors.
The above-described data driven type information processing system may further include the following features.
The path select unit includes a transmission path that is connected with the outside of the system at its output stage. The path select unit selects, based on the instruction information within the received data packet, a transmission path connected to any of 1) another processor, 2) the processing unit, or 3) the outside of the system that can operate an instruction system corresponding to the type of the instruction information. It then outputs the received data packet to the selected transmission path.
According to the data driven type information processing system as described above, the path select unit can selectively provide the received data packets either to any of the processors within the system including the processor itself (the processing unit) or to a processor outside the system, based on the instruction information within the received data packet.
The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.